package controllers;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import play.mvc.*;
import controllers.ControllerTabref;
import models.Prato;
import models.Produto;

public class ControllerPrato extends Application {

	public static void doCadastrarPrato(Prato prato) throws SQLException {
		conectar();
		String insert_produto = "INSERT INTO Potiguar.prato (nome_prato,img_path,preco) VALUES("
				+ "'"
				+ prato.getNome_prato()
				+ "','"
				+ "',"
				+ prato.getPreco()
				+ ")";

		try {
			comando.executeUpdate(insert_produto);
		} catch (SQLException e) {
			e.printStackTrace();
		}

		ControllerTabref.AddIngredientes(prato);
	}

	public static void CadastrarPrato() throws SQLException {
		render();
	}

	public static void EditarPrato() throws SQLException {
		conectar();
		List<Prato> list_prato = new ArrayList<Prato>();
		ResultSet result;

		try {
			result = comando
					.executeQuery("select nome_prato from Potiguar.prato");
			while (result.next()) {
				Prato prato = new Prato();
				prato.setNome_prato(result.getString("nome_prato"));
				list_prato.add(prato);

			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		render(list_prato);
	}

	public static void doEditarPrato(Prato prato) throws SQLException {
		conectar();
		ResultSet result;
		Prato pratoaux = new Prato();

		try {

			result = comando
					.executeQuery("select * from Potiguar.prato WHERE nome_prato='"
							+ prato.getNome_prato() + "'");
			while (result.next()) {
				pratoaux.setId_prato(result.getInt("id_prato"));
				pratoaux.setNome_prato(result.getString("nome_prato"));
				pratoaux.setPreco(result.getFloat("preco"));

			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		calledEditarPrato(pratoaux);
	}

	public static void calledEditarPrato(Prato pratoaux) {
		render(pratoaux);

	}

	public static void docalledEditarPrato(Prato prato2) throws SQLException {
		conectar();
		
		String string = new String();
		string = ("UPDATE Potiguar.Prato SET nome_prato='"
				+ prato2.getNome_prato() + "',preco=" + prato2.getPreco()
				+ " WHERE id_prato =" + prato2.getId_prato() + "");
		try {
			comando.executeUpdate(string);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		ControllerTabref.EditarIngredientes(prato2);
	}

	public static void doExcluirPrato(Prato prato) throws SQLException {
		conectar();

		String delete_prato = "DELETE FROM Potiguar.prato WHERE nome_prato="
				+ "'" + prato.getNome_prato() + "'";

		try {
			comando.executeUpdate(delete_prato);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		ExcluirPrato();
	}

	public static void ExcluirPrato() throws SQLException {
		conectar();
		List<Prato> list_prato = new ArrayList<Prato>();
		ResultSet result;

		try {
			result = comando
					.executeQuery("select nome_prato from Potiguar.prato");
			while (result.next()) {
				Prato prato = new Prato();
				prato.setNome_prato(result.getString("nome_prato"));
				list_prato.add(prato);

			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		render(list_prato);

	}

}
